Decoding of Forward Error Correction Codes in the Presence of Phase Noise

ABSTRACT

A communication receiver includes a front end, which is arranged to receive a Radio Frequency (RF) signal, which includes modulated symbols carrying data that have been encoded by a block Forward Error Correction (FEC) code. The front end converts the RF signal to a sequence of soft received symbols, wherein the soft received symbols are subject to distortion by at least first and second noise components having respective at least first and second statistical distributions. A metric calculation unit is arranged to process the soft received symbols so as to extract parameters indicative of the at least first and second statistical distributions, and to compute FEC metrics based on the extracted parameters. A FEC decoder is arranged to accept the FEC metrics as input, and to process the metrics in an iterative FEC decoding process so as to decode the FEC code and reconstruct the data.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 11/973,464, filed Oct. 9, 2007, now allowed, which is incorporated herein by reference in its entirety.

FIELD OF THE INVENTION Background of the Invention

Many communication systems use Forward Error Correction (FEC) codes to improve their performance in the presence of noise and distortion. Some block FEC codes are commonly decoded using iterative decoding processes. Iterative decoding methods are described, for example, by Worthen and Stark in “Unified Design of Iterative Receivers using Factor Graphs,” IEEE Transactions on Information Theory, (47:2), February, 2001, pages 843-849, and by Richardson and Urbanke in “An Introduction to the Analysis of Iterative Coding Systems,” Proceedings of the 1999 Institute for Mathematics and its Applications (IMA) Summer program: Codes, Systems and Graphical Models, Minneapolis, Minn., Aug. 2-6, 1999, which are incorporated herein by reference. Iterative FEC decoding processes often accept as input metrics of received bits and/or symbols. Some FEC metrics are bit-related, such as, for example, likelihood ratios (LRs) or log-likelihood ratios (LLRs) of individual bits in the received symbols.

Two families of codes that are commonly decoded using iterative processes are Low Density Parity Check (LDPC) codes and turbo codes. LDPC codes were first introduced by Gallager in “Low-Density Parity Check Codes,” IRE Transactions on Information Theory, Volume 7, January, 1962, pages 21-28, which is incorporated herein by reference, and are also described by Ryan and Vasic in “An Introduction to LDPC Codes,” GlobeCom 2003, San Francisco, Calif., Dec. 5, 2003, which is incorporated herein by reference.

In many Radio Frequency (RF) communication systems, the received signal is distorted by phase noise. Phase noise may be contributed, for example, by Local Oscillators (LOs) and other frequency and clock sources in the transmitter and/or receiver, by analog-to-digital and digital-to analog converters, as well as by other sources. Some communication receivers and reception methods, and in particular methods for decoding FEC codes, are designed for receiving signals in the presence of phase noise.

For example, U.S. Patent Application Publication 2006/0107179, whose disclosure is incorporated herein by reference, describes a method in which a magnitude metric of received signals is amplified during iterative decoding of LDPC code and LDPC coded modulation. The method selects a metric coefficient value that is used to calculate the initial conditions when decoding LDPC coded signals, depending on the particular Signal-to-Noise Ratio (SNR) at which the communication system is operating. By adjusting the metric coefficient value according to the given LDPC code, modulation, and noise variance, the convergence speed of the decoding process is slowed down so that the decoder will not converge to the wrong codeword. The range of the outputs of the decoder is restricted so that the output will not oscillate, and will eventually converge to the correct codeword.

Colavolpe et al. propose iterative decoding algorithms for channels affected by strong phase noise in “Algorithms for Iterative Decoding in the Presence of Strong Phase Noise,” IEEE Journal on Selected Areas in Communications, (23:9), September, 2005, pages 1748-1757, which is incorporated herein by reference. The proposed algorithms apply the sum-product algorithm to the factor graph representing the joint a-posteriori probability mass function of the information bits, given the channel output. Problems caused by the presence of continuous random variables in the factor graph are addresses by applying canonical distributions. Two proposed algorithms are based on a Fourier series expansion of the phase probability density function, and on the Tikhonov canonical distribution.

SUMMARY OF THE INVENTION

Embodiments of the present invention provide a communication receiver, including:

a front end, which is arranged to receive a Radio Frequency (RF) signal, which includes modulated symbols carrying data that have been encoded by a block Forward Error Correction (FEC) code, and to convert the RF signal to a sequence of soft received symbols, wherein the soft received symbols are subject to distortion by at least first and second noise components having respective at least first and second statistical distributions;

a metric calculation unit, which is arranged to process the soft received symbols so as to extract parameters indicative of the at least first and second statistical distributions, and to compute FEC metrics based on the extracted parameters; and

a FEC decoder, which is arranged to accept the FEC metrics as input, and to process the metrics in an iterative FEC decoding process so as to decode the FEC code and reconstruct the data.

In some embodiments, one of the first and second noise components includes thermal noise. Additionally or alternatively, one of the first and second noise components includes phase noise. The FEC code may include one of a Low Density Parity Check (LDPC) code, a turbo code and a Turbo Product Code (TPC).

In an embodiment, for a soft received symbol that is received responsively to a modulated symbol and for a target bit in a group of bits represented by the modulated symbol, the metric calculation unit is arranged to approximate a first probability that the target bit equals “1” given the soft received symbol, and a second probability that the target bit equals “0” given the soft received symbol, and to compute the FEC metrics based on the first and second probabilities. In a disclosed embodiment, the metric calculation unit is arranged to compute one of Log-Likelihood Ratios (LLRs) and Likelihood Ratios (LRs) based on the first and second probabilities.

In another embodiment, the modulated symbols are selected from a predetermined constellation of nominal symbols, and the metric calculation unit is arranged to compute the FEC metrics by comparing the soft received symbols to only two nominal symbols per each of the at least first and second noise components. In yet another embodiment, the soft received symbols and the nominal symbols are represented by respective coordinates in an In-phase/Quadrature (I/Q) plane, the at least first and second noise components have respective at least first and second distance metrics in the I/Q plane, and, for a soft received symbol that is received responsively to a modulated symbol and for a target bit in a group of bits represented by the modulated symbol, the two nominal symbols corresponding to a noise component include a first nominal symbol that is nearest to the soft received symbol in accordance with a respective distance metric of the noise component within a first subset including the nominal symbols whose target bit equals “0”, and a second nominal symbol that is nearest to the soft received symbol in accordance with the respective distance metric of the noise component within a second subset including the nominal symbols whose target bit equals “1”.

In still another embodiment, the first noise component includes thermal noise, the first distance metric includes Euclidean distance, the second noise component includes phase noise, and the second distance metric includes a Euclidean distance metric adjusted by a correction factor derived from the second statistical distribution.

The metric calculation unit may be arranged to compute the FEC metrics by multiplying a first function of the first statistical distribution by a second function of the second statistical distribution. The FEC metrics may depend on a timing of the soft received symbols. In an embodiment, the metric calculation unit is arranged to compute the FEC metrics by evaluating the metrics responsively to the first statistical distribution over a range of values of the second noise component assuming the second noise component is constant, weighting the evaluated metrics using a weighing function, and integrating the weighted metrics over the range of values of the second noise component. The weighting function may include a Probability Density Function (PDF) of the second noise component. In some embodiments, the metric calculation unit is arranged to compute the FEC metrics responsively to parameters of the reconstructed data that are fed back from the FEC decoder.

There is additionally provided, in accordance with an embodiment of the present invention, a communication receiver, including:

a front end, which is arranged to receive a Radio Frequency (RF) signal including modulated symbols, which carry data and are selected from a predetermined constellation of nominal symbols that correspond to respective decision regions in an In-phase/Quadrature (I/Q) plane, and to convert the RF signal to a sequence of soft received symbols, wherein the soft received symbols are subject to distortion by at least first and second noise components having respective at least first and second statistical distributions; and

a slicer circuit, which is arranged to convert the soft received symbols to respective hard symbol decisions based on the decision regions in which the soft received symbols fall, to reconstruct the data from the hard symbol decisions, and to modify the decision regions in the I/Q plane responsively to the at least first and second statistical distributions.

In some embodiments, the constellation is divided into multiple cosets and each of the nominal symbols represents a respective group of bits, such that one or more of the bits in the group select a coset from among the cosets and the other bits select the nominal symbol within the selected coset, and the slicer circuit is arranged to separately modify the decision regions per each coset. In an embodiment, the slicer circuit is arranged to select a configuration of the decision regions from a predetermined set of configurations responsively to the at least first and second statistical distributions.

There is also provided, in accordance with an embodiment of the present invention, a method for communication, including:

receiving a Radio Frequency (RF) signal, which includes modulated symbols carrying data that have been encoded by a block Forward Error Correction (FEC) code;

converting the RF signal to a sequence of soft received symbols, wherein the soft received symbols are subject to distortion by at least first and second noise components having respective at least first and second statistical distributions;

processing the soft received symbols responsively to the at least first and second statistical distributions, so as to extract from the soft received symbols parameters that are indicative of the first and second statistical distributions;

computing FEC metrics based on the extracted parameters; and

processing the FEC metrics in an iterative FEC decoding process that uses the FEC metrics as input, so as to decode the FEC code and reconstruct the data.

There is further provided, in accordance with an embodiment of the present invention, a method for communication, including:

receiving a Radio Frequency (RF) signal including modulated symbols, which carry data and are selected from a predetermined constellation of nominal symbols that correspond to respective decision regions in an In-phase/Quadrature (I/Q) plane;

converting the RF signal to a sequence of soft received symbols, wherein the soft received symbols are subject to distortion by at least first and second noise components having respective at least first and second statistical distributions;

converting the soft received symbols to respective hard symbol decisions based on the decision regions in which the soft received symbols fall, so as to reconstruct the data from the hard symbol decisions; and

modifying the decision regions in the I/Q plane responsively to the at least first and second statistical distributions.

The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that schematically illustrates a communication link, in accordance with an embodiment of the present invention;

FIG. 2 is a flow chart that schematically illustrates a method for decoding Forward Error Correction (FEC) codes in the presence of thermal noise and phase noise, in accordance with an embodiment of the present invention; and

FIGS. 3, 4A and 4B are diagrams that schematically illustrate symbol constellations, in accordance with embodiments of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS Overview

Embodiments of the present invention that are described herein below provide improved methods and systems for decoding FEC codes in the presence of various types of noise. In some of these embodiments, a receiver receives a Radio Frequency (RF) signal comprising modulated symbols, which carry data that has been encoded by a block FEC code. The FEC code typically comprises a code that lends itself to iterative decoding, such as an LDPC code, a turbo code or a Turbo Product Code (TPC).

The receiver down-converts and digitizes the received signal, to produce soft received symbols. The soft received symbols may be corrupted by two or more different noise components, such as thermal noise and phase noise. Each noise component has a respective statistical distribution. The soft received symbols are processed by a metric calculation unit, whose output is fed to a FEC decoder. The metric calculation unit accepts the soft received symbols and computes FEC metrics to be used by the FEC decoder. The metric calculation unit computes the FEC metrics by extracting parameters that are indicative of the statistical distributions of the different noise components from the soft received symbols, and computing the metrics based on the extracted parameters.

The FEC decoder decodes the FEC code in an iterative decoding process using the FEC metrics, so as to recover the transmitted data bits. Since the FEC metrics are computed based on the actual noise distributions, the error performance of the decoding process is optimized per the specific noise statistics encountered by the receiver.

Several exemplary FEC metrics and metric calculation methods are described below. In some embodiments, the output of the FEC decoder is fed back to the metric calculation unit and used to adjust the FEC metrics in an iterative manner.

In some embodiments, some of the transmitted data bits are coded and other bits are left uncoded, such as using a multilevel coding scheme. Several methods for optimizing the demodulation of such schemes in the presence of different types of noise are described herein.

System Description

FIG. 1 is a block diagram that schematically illustrates a communication link 20, in accordance with an embodiment of the present invention. Link 20 may comprise a microwave link, a millimeter wave link, or any other suitable link. Link 20 comprises a transmitter (TX) 24, which transmits data over a wireless channel to a receiver (RX) 28.

TX 24 comprises a Forward Error Correction (FEC) encoder 32, which encodes the input data using a FEC code. Typically, the code comprises a block code that lends itself to iterative decoding, such as an LDPC or turbo code. In some embodiments, the encoder uses a coding scheme that encodes only some of the data bits and leaves other bits uncoded.

The encoded data is modulated by a modulator 36. The modulator converts the data bits to a sequence of modulated symbols, in accordance with a certain modulation scheme, such as Binary Phase Shift Keying (BPSK), Quaternary Phase Shift Keying (QPSK), Quadrature Amplitude Modulation (QAM) or any other suitable modulation. In accordance with the modulation scheme used, modulator 36 maps bits, or groups of bits, to nominal symbols selected from a predetermined symbol constellation.

A Digital-to-Analog Converter (DAC) 40 converts the sequence of modulated symbols into an analog baseband signal. A Transmitter Analog Front End (TX AFE) 44 up-converts the baseband signal to a suitable Radio Frequency (RE), and performs functions such as filtering and power control. A Power Amplifier (PA) 48 amplifies the RF signal, and the signal is then transmitted via a transmit antenna 52 over the wireless channel.

The radio signal transmitted by transmitter 24 is received at receiver 28 by a receive antenna 56 and provided to a Receiver Analog Front End (RX AFE) 60. The RX AFE down-converts the received RE signal to a suitable intermediate frequency (IF) or to baseband, and usually performs functions such as filtering and analog gain control. The signal produced by the RX AFE is digitized by an Analog-to-Digital Converter (ADC) 64, which produces a sequence of soft received symbols.

Although FIG. 1 shows a single ADC, the receiver sometimes comprises two parallel ADCs that respectively produce In-phase and Quadrature (I/Q) samples. Each pair of I/Q samples corresponds to a soft received symbol. Each received symbol can be represented as a coordinate in a two-dimensional signal space spanned by the I and Q axes. The nominal symbols of the modulation scheme used by link 20 are represented by respective nominal signal points in the I/Q space. In the absence of noise, phase/frequency offset and other distortion, each soft received symbol theoretically falls on a nominal signal point that represents the symbol that was transmitted by the transmitter. In practical scenarios, however, the received symbols deviate from the nominal signal points due to noise and distortion.

RX 28 comprises a metric calculation unit 76 and a EEC decoder 72. The EEC decoder decodes the FEC code used by transmitter 24 in an iterative decoding process, using FEC metrics that are computed by unit 68. Any suitable iterative decoding process can be used for this purpose, such as the exemplary processes described in the above-cited references. Metric calculation unit 68 accepts the soft received symbols produced by ADC 64 and produces the FEC metrics that are used as input by the iterative decoding process carried out by EEC decoder 72.

In some embodiments, the FEC metrics comprise bit-related likelihood metrics, which estimate the likelihoods that a given coded bit in the corresponding transmitted symbol was “1” or “0”. Exemplary FEC metrics are Likelihood Ratios (LRs) and Log-Likelihood Ratios (LLRs), as are known in the art. Alternatively, any other suitable FEC metric can also be used. FEC decoder 72 decodes the FEC using the metrics provided by unit 68 and produces a sequence of decoded bits, which reconstruct the data input to TX 24.

In some embodiments, RX 28 further comprises a slicer 76, which demodulates the sequence of soft received symbols to produce a sequence of hard symbol decisions. Typically, the slicer determines, for each received I/Q sample, which of the nominal constellation symbols is most likely to have been transmitted. The slicer produces the symbol decisions based on distances between the I/Q coordinates of the received symbols and the coordinates of the nominal constellation symbols. The slicer produces a sequence of bits, which reconstruct the sequence of encoded data bits produced by FEC encoder 32. In some embodiments, the slicer configuration is optimized with respect to the noise statistics present in the received signal. Several exemplary slicer configurations are shown in FIGS. 3, 4A and 4B below.

A controller 80 manages and controls the operation of RX 28. Typically, unit 68, FEC decoder 72 and slicer 76 are implemented in hardware, such as in one or more Application-Specific Integrated circuits (ASIC) or Field-Programmable Gate Arrays (FPGA). In some embodiments, some or all of the functions of metric calculation unit 68 are carried out in software, for example using controller 80.

FEC Metrics Based on Thermal and Phase Noise

As noted above, the soft received symbols may be distorted by different noise components, such as thermal noise or phase noise. The different noise components generally have different properties and different statistical distributions. Thermal noise, for example, is typically modeled as an Additive White Gaussian Noise (AWGN) process. Phase noise is usually a multiplicative noise, whose spectral density decays rapidly as a function of distance from the carrier frequency.

Other types of noise may comprise Inter-Symbol Interference (ISI) and various other types of distortion caused by the transmitter, receiver or communication channel. In the context of the present patent application and in the claims, all of these types of distortion are referred to herein as “noise components.”

In the description that follows, the received symbols are assumed to be distorted by both thermal noise and phase noise. The thermal noise is assumed to be Gaussian and white, with a spectral density denoted N₀. The phase noise (typically, the residual phase noise after carrier recovery processing) is assumed to be Gaussian with a variance denoted σ_(θ) ². In some embodiments, metric calculation unit 68 computes bit-related LLR metrics based on the distributions of the thermal noise and phase noise components that affect the received symbols. Since the FEC metrics are optimized per the specific noise statistics encountered by the receiver, the error performance of the decoding process is improved.

The LLR of a particular received bit c is defined as

$\begin{matrix} {{LLR} = {\log \frac{\Pr \left( {c = {0/y}} \right)}{\Pr \left( {c = {1/y}} \right)}}} & \lbrack 1\rbrack \end{matrix}$

wherein y denotes the soft received symbol. Thus, the LLR is defined as the log ratio between the probability that, given the received symbol y, the received bit c should be decoded as “0” and the probability that bit c should be decoded as “1”.

Assuming that “0” and “1” bit values occur at equal probabilities, Equation [1] above can be written as

$\begin{matrix} {{LLR} = {\log \frac{\Pr \left( {{y/c} = 0} \right)}{\Pr \left( {{y/c} = 1} \right)}}} & \lbrack 2\rbrack \end{matrix}$

When only thermal noise is present, Equation [2] above can be written as

$\begin{matrix} {{LLR} = {{\log\left\lbrack {\sum\limits_{s_{i} \in S^{0}}^{\;}^{- \frac{{{y - s_{i}}}^{2}}{N_{0}}}} \right\rbrack} - {\log\left\lbrack {\sum\limits_{s_{i} \in S^{1}}^{\;}^{- \frac{{{y - s_{i}}}^{2}}{N_{0}}}} \right\rbrack}}} & \lbrack 3\rbrack \end{matrix}$

wherein S_(i) indexes the nominal constellation symbols, S⁰ denotes a subset of the nominal constellation symbols in which the decoded bit c equals “0”, and S¹ denotes the subset of the nominal constellation symbols in which bit c equals “1”. Equation [3] above can be approximated by

$\begin{matrix} {{LLR} \approx {\frac{1}{N_{0}}\left( {{\min\limits_{s_{i} \in S^{1}}{{y - s_{i}}}^{2}} - {\min\limits_{s_{i} \in S^{0}}{{y - s_{i}}}^{2}}} \right)}} & \lbrack 4\rbrack \end{matrix}$

Equation [4] shows that for thermal noise the LLR can be approximated by calculating the Euclidean distances between the received symbol y and the nearestnominal constellation symbol in each of subsets S⁰ and S¹, Equations [3] and [4] above can also be used to approximate the LLR values when phase noise is present, but is negligible with respect to the thermal noise.

When the received signal is also affected by phase noise, the LLR can be written as

$\begin{matrix} {{LLR} = {{\log \left( \frac{\sum\limits_{S_{0}}^{\;}{{\Pr \left( {y/S_{0}} \right)} \cdot {\Pr \left( S_{0} \right)}}}{\sum\limits_{S_{1}}^{\;}{{\Pr \left( {y/S_{1}} \right)} \cdot {\Pr \left( S_{1} \right)}}} \right)} = {{\log \left( \frac{\sum\limits_{S_{0}}^{\;}{\Pr \left( {y/S_{0}} \right)}}{\sum\limits_{S_{1}}^{\;}{\Pr \left( {y/S_{1}} \right)}} \right)} = {\log \left( \frac{\sum\limits_{S_{0}}^{\;}{E_{\theta}\left\lbrack {\Pr \left( {{y/S_{0}},\theta} \right)} \right\rbrack}}{\sum\limits_{S_{1}}^{\;}{E_{\theta}\left\lbrack {\Pr \left( {{y/S_{1,}}\theta} \right)} \right\rbrack}} \right)}}}} & \lbrack 5\rbrack \end{matrix}$

wherein θ is a random variable representing the phase error. Equation [5] applies not only to phase noise, but to any other random variable that affects the received signal, such as other types of noise and distortion components.

Using the principle of Equation [5] above, Equation [4] above can be generalized for cases in which the received signal is affected by both thermal noise and phase noise. It can be shown that in these cases, the LLR can be approximated by considering only four of the nominal constellation symbols:

-   -   The two nearest constellation symbols assuming only thermal         noise is present (i.e., the constellation symbol having the         smallest Euclidean distance to the received symbol in each of         subsets S⁰ and S¹). These two constellation symbols are denoted         A^(∞) and B^(∞), respectively.     -   The two nearest constellation symbols, selected with a modified         Euclidean distance metric, which is adjusted by a correction         factor to account for the phase noise. The calculation of the         distance metric assumes that phase noise is dominant. These two         constellation symbols are denoted A₀ and B₀, respectively.

The four constellation symbols A₀, B₀, A_(∞) and B_(∞) are given by

$\begin{matrix} {{A_{0} \equiv {\arg \; {\max_{S_{0}}\left\{ {\frac{\left( {{y} \cdot {S_{0}} \cdot {\sin \left( \phi_{0} \right)}} \right)^{2}}{{y} \cdot {S_{0}}} - {{y - S_{0}}}^{2}} \right\}}}}{B_{0} \equiv {\arg \; {\max_{S_{1}}\left\{ {\frac{\left( {{y} \cdot {S_{1}} \cdot {\sin \left( \phi_{1} \right)}} \right)^{2}}{{y} \cdot {S_{1}}} - {{y - S_{1}}}^{2}} \right\}}}}{A_{\infty} \equiv {\arg \; {\max_{S_{0}}\left\{ {- {{y - S_{0}}}^{2}} \right\}}}}{B_{\infty} \equiv {\arg \; {\max_{S_{1}}\left\{ {- {{y - S_{1}}}^{2}} \right\}}}}} & \lbrack 6\rbrack \end{matrix}$

wherein arg max S₀{ } denotes the member of set S₀ that maximizes the bracketed expression, and φ₀, φ₁ denote the angular differences between the received soft symbol and the constellation symbol being evaluated.

It can be shown that the LLR can be approximated using these four constellation symbols as

$\begin{matrix} {{LLR} \approx {{\frac{1}{N_{0}}\max \begin{Bmatrix} {{\frac{\left( {{y} \cdot {A_{0}} \cdot {\sin \left( \phi_{A_{0}} \right)}} \right)^{2}}{{{y} \cdot {A_{0}}} + \frac{N_{0}}{2 \cdot \sigma_{\theta}^{2}}} - {{y - A_{0}}}^{2}},} \\ {\frac{\left( {{y} \cdot {A_{\infty}} \cdot {\sin \left( \phi_{A_{\infty}} \right)}} \right)^{2}}{{{y} \cdot {A_{\infty}}} + \frac{N_{0}}{2 \cdot \sigma_{\theta}^{2}}} - {{y - A_{\infty}}}^{2}} \end{Bmatrix}} - {\frac{1}{N_{0}}\max \begin{Bmatrix} {{\frac{\left( {{y} \cdot {B_{0}} \cdot {\sin \left( \phi_{B_{0}} \right)}} \right)^{2}}{{{y} \cdot {B_{0}}} + \frac{N_{0}}{2 \cdot \sigma_{\theta}^{2}}} - {{y - B_{0}}}^{2}},} \\ {\frac{\left( {{y} \cdot {B_{\infty}} \cdot {\sin \left( \phi_{B_{\infty}} \right)}} \right)^{2}}{{{y} \cdot {B_{\infty}}} + \frac{N_{0}}{2 \cdot \sigma_{\theta}^{2}}} - {{y - B_{\infty}}}^{2}} \end{Bmatrix}}}} & \lbrack 7\rbrack \end{matrix}$

Metric calculation unit 68 computes the FEC metrics using Equations [6] and [7] above. Note that in order to compute the FEC metrics, unit 68 does not necessarily select the four nearest constellation symbols defined in Equation [6] above in an explicit manner. For example, unit 68 may evaluate Equation [7] above for all constellation symbols, without explicitly identifying or selecting the nearest symbols.

Although Equations [6] and [7] above refer to thermal noise and phase noise, the principles of the method described herein can be used to approximate the LLR for signals that are distorted by other types of noise. Each noise type (noise component) is characterized by an appropriate distance metric, e.g., Euclidean distance for thermal noise, and a modified Euclidean distance, as described above, for phase noise.

When the received signal is corrupted by two separate noise components having two separate statistical distributions, the LLR of a certain bit can be approximated by calculating the distances from the received symbol to four nominal constellation symbols: The two nearest constellation symbols selected using a first distance metric that depends on the first statistical distribution, and the two nearest constellation symbols selected using a second distance metric that depends on the second statistical distribution. Thus, each distance calculation is performed using a distance metric that suits the noise type in question.

Generally, when the received signal is corrupted by N separate noise components having respective N statistical distributions, the LLR can be approximated by calculating the distances from the received symbol to 2 N nominal constellation symbols. For each noise component, two constellation symbols are selected using a distance metric that depends on the respective statistical distribution of the noise component.

Although the description above refers to the calculation of LLRs, the principles of the method can be used, mutatis mutandis, to calculate other types of FEC metrics, as well.

Note that in some cases, a certain constellation symbol may have the smallest distance to the received symbol using two different distance metrics. For example, in some cases, when determining the nearest constellation symbols using Equation [6] above, symbol A₀ may be the same constellation symbol as B₀. In these cases, the actual number of constellation symbols considered may be smaller than four.

Further alternatively, the FEC metrics can be calculated using any other suitable method, which extracts parameters that are indicative of the statistical distributions of the different noise components and computes the metrics based on the extracted parameters.

FEC Code Decoding Methods

FIG. 2 is a flow chart that schematically illustrates a method for decoding FEC codes in the presence of thermal noise and phase noise, in accordance with an embodiment of the present invention. The method begins with RX 28 receiving the RF signal transmitted from TX 24, at a reception step 90. The signal is assumed to comprise modulated symbols, which carry data that has been encoded using an iterative block FEC code, such as an LDPC or turbo code. RX AFE 60 down-converts the RF signal to baseband. ADC 64 digitizes the baseband signal and provides the soft received symbols to metric calculation unit 68.

The soft received symbols are affected by phase noise, as well as by thermal noise. Unit 68 computes estimated LLR values of the received bits, taking into account the statistical properties of the two noise distributions, at a metric computation step 94. In some embodiments, unit 68 calculates LLRs of the received bits in accordance with Equations [6] and [7] above. FEC decoder 72 decodes the FEC code using the FEC metrics, at a decoding step 98. The decoded data is then output by the receiver, at an output step 102.

In some embodiments, the receiver comprises a carrier recovery loop, which estimates the transmitter carrier phase based on measurements performed on the received signal. In these embodiments, the phase noise that affects the UR calculation of Equation [6] and [7] above is the residual phase noise, after the receiver has corrected the phase errors to the best of its ability using the carrier recovery loop. This residual phase noise may be caused by variations in phase noise over time, or by the limited accuracy and residual errors of the carrier recovery loop.

Alternatively to using Equations [6] and [7] above, metric calculation unit 68 can sometimes compute an FEC metric having the form Metric=Metric(ThermalNoise)·c(PhaseNoise). In other words, unit 68 can evaluate an ECC metric assuming only thermal noise, and multiply it by scaling factor that is a function of the phase noise. In some embodiments, the scaling factor can depend on the symbol timing. For example, when a carrier recovery loop is used, the residual phase noise may be small in some symbols (e.g., symbols in which the loop performs phase corrections) and larger for other symbols. Unit 68 can account for these differences by scaling the FEC metric accordingly.

in another alternative embodiment, unit 68 computes the joint thermal/phase noise metric by calculating the metric for thermal noise, assuming the current phase noise is fixed at a value of θ. This metric is denoted Metric_(θ). Then, unit 68 integrates Metric_(θ) over the range of possible values of θ, and weighs the integration by f(θ), the probability density function (PDF) of θ. The FEC metric is thus given by

$\begin{matrix} {{Metric} = {\int_{\theta}^{\;}{{{f(\theta)} \cdot {Metric}_{\theta}}{\theta}}}} & \lbrack 8\rbrack \end{matrix}$

Alternatively to weighting the integration by the PDF of θ, unit 68 may use other weighting functions, such as various estimates or approximations of the PDF.

In some embodiments, parameters of the reconstructed data are fed hack from the output of FEC decoder 72 to metric calculation unit 68 and used in the metric calculation process. In these embodiments, the LLR calculation process is iterative, and uses the feedback from the i′th decoded codeword in the (i−1)′th iteration. Unit 68 may thus calculate an FIR having the form LLR_(i+1)=LLR_(i)+Correction (feedback).

For example, the decoder output can provide information regarding the actual bit probabilities, i.e., Pr(c=0) and Pr(c=1) at each iteration. As noted above, the LLR is given by

$\begin{matrix} {{LLR} = {{\log \frac{\Pr \left( {c = {0/y}} \right)}{\Pr \left( {c = {1/y}} \right)}} = {\log \frac{{\Pr \left( {{y/c} = 0} \right)} \cdot {\Pr \left( {c = 0} \right)}}{{\Pr \left( {{y/c} = 1} \right)} \cdot {\Pr \left( {c = 1} \right)}}}}} & \lbrack 9\rbrack \end{matrix}$

In the first iteration, the LLR is calculated by

$\begin{matrix} {{LLR} = {{\log \frac{{\Pr \left( {{y/c} = 0} \right)} \cdot {\Pr \left( {c = 0} \right)}}{{\Pr \left( {{y/c} = 1} \right)} \cdot {\Pr \left( {c = 1} \right)}}} = {\log \frac{\Pr \left( {{y/c} = 0} \right)}{\Pr \left( {{y/c} = 1} \right)}}}} & \lbrack 10\rbrack \end{matrix}$

In subsequent iterations, however, the factor Pr(c=0)/Pr(c=1) in Equation [9] above can be updated based on the actual probabilities at the FEC decoder output.

Multilevel FEC Code Decoding Based on Phase Noise Statistics

In some embodiments, only some of the data bits are encoded at the transmitter using the FEC code, and other bits are left uncoded. For example, the data may be encoded using a coset coding scheme, in a process that is also referred to as multilevel encoding. Techniques that use combinations of coded and uncoded bits and other multilevel coding methods are described, for example, in U.S. Patent Application Publication 2005/0010853 A1, whose disclosure is incorporated herein by reference. Coset codes are also described by Pottie and Taylor in “Multilevel Codes Based on Partitioning,” IEEE Transactions on Information Theory (35:1), January, 1989, pages 87-98, which is incorporated herein by reference.

In such coding schemes, the nominal symbol constellation is partitioned into several subsets of symbols, referred to as cosets. When encoding or decoding a certain symbol, the coded bits select the coset to be used, and the uncoded bits select a specific constellation symbol within the selected coset.

FIG. 3 is a diagram that schematically illustrates an exemplary symbol constellation partitioned into cosets, in accordance with an embodiment of the present invention. The exemplary constellation shown in FIG. 3 is a 16-QAM constellation, which comprises sixteen constellation symbols 110. The symbols lie on a regular square grid in the I/Q plane, as well as on three concentric circles 114 centered at the origin.

Constellation symbols 110 are partitioned into four cosets, with four symbols in each coset. The different cosets are marked with different icons in the figure. Typically, the partitioning attempts to maximize the distances between symbols within each coset. In the present example, each transmitted symbol represents four bits. Two bits of each symbol are encoded, and indicate which coset is to be used for decoding. The other two bits are left uncoded, and indicate the specific symbol within the selected coset.

The intra-coset demodulation process, i.e., the process of determining which of the nominal constellation symbols within a certain coset is most likely to have been transmitted given a certain soft received symbol, is typically carried out by slicer 76. Typically, the slicer divides the I/Q plane into regions, referred to as decision regions, that surround the nominal constellation symbols. The lines that divide the I/Q plane into the decision regions are referred to as decision lines. When a soft received symbol falls in the decision region of a particular constellation symbol, the demodulator assumed that this constellation symbol was transmitted.

In some embodiments, slicer 76 can set the geometrical properties of the decision regions based on the statistical distribution of the different noise processes that affect the signals.

FIGS. 4A and 4B are diagrams that schematically illustrate a coset with decision regions, in accordance with embodiments of the present invention. The figures show four symbols 118A . . . 118D, which belong to one of the four cosets shown in FIG. 3 above. The assumption is that the two coded bits have already been decoded (e.g., using the method of FIG. 2 above), so that the appropriate coset has been selected. At this stage, the demodulator has the task of selecting one of the symbols within the selected coset.

FIGS. 4A and 4B demonstrate two different divisions of the I/Q plane into decision regions. The decision regions shown in FIG. 4A are particularly suited to scenarios in which the thermal noise is dominant, while the decision regions shown in FIG. 4A are advantageous when phase noise dominates.

In FIG. 4A, the I/Q plane is divided into four decision regions by two orthogonal decision lines 122A and 12213. The decision lines are positioned at equal Euclidean distances from symbols 118A . . . 118D. (Line 122A is positioned mid-way between symbols 118A and 118C, and between symbols 118B and 118D. Similarly, line 122B is positioned mid-way between symbols 118A and 118B, and between symbols 118C and 118D.) Since thermal noise is assumed to have a two-dimensional Gaussian distribution, the division shown in FIG. 4A is best-suited for scenarios in which thermal noise is strong with respect to phase noise.

In FIG. 4B, the decision regions are optimized for dominant phase noise. When phase noise is dominant, the majority of the distortion is caused to the phase of the signal. Thus, the deviation of the soft received symbols from the nominal constellation points are primarily angular, along an arc having the radius of the constellation point with respect to the origin of the I/Q plane. Magnitude deviations, i.e., radial deviations, are usually small.

Using this property of phase noise distortion, the I/Q plane in the example of FIG. 4B is divided by decision lines 126, which comprise three concentric circles and two straight diagonal sections. The radii of the circles are selected so that the radial distances from a particular circle to the nearest symbols on either side of the circle are equal.

Consider, for example, the innermost circle. Symbol 118D is located inside this circle and its radial distance from the circle is denoted 134C. Symbols 118B and 118C are located on the outside of this circle, and their radial distances to the circle are denoted 134B and 134A, respectively. The radius of the innermost circle is chosen so that radial distances 134A, 134B and 134C are equal to one another.

Similarly, considering the middle circle, symbol 118A is located on the outside of the circle and its radial distance to the circle is denoted 130A. Symbols 118B and 118C are located on the inside of this circle, and their radial distances to the circle are denoted 130B and 130C, respectively. The radius of the middle circle is chosen so that three radial distances 130A . . . 130C are equal to one another. The middle ring, between the innermost and middle circles, is divided into two decision regions by two straight diagonal sections, located symmetrically between symbols 118B and 118C.

The decision region configuration of FIG. 4B makes use of the fact that, when phase noise is dominant, angular errors may be large but radial errors are usually small. Using this configuration, even when the soft received symbols have very large phase errors, they are likely to remain within the correct decision region. Note that the decision regions are not symmetric with respect to the I/Q origin, since the coset itself is positioned asymmetrically.

FIGS. 4A and 4B above show configurations that are best-suited for extreme scenarios of dominant thermal noise and dominant phase noise, respectively. In some cases, however, the different noise components are of similar or comparable magnitudes. In these cases, different configurations of decision regions, which balance the contribution of each noise component, can be used.

In some embodiments, slicer 76 can modify the division of the I/Q plane into decision regions in an adaptive manner, based on the current estimated noise statistics. For example, the slicer can hold two or more predetermined decision zone configurations, and switch from one configuration to another based on the estimated noise statistics. In some cases, controller 80 makes the decisions to switch between slicer configurations, selects the appropriate slicer configuration and controls slicer 76 accordingly.

Although the embodiments described herein mainly address wireless communication links, the principles of the present invention can also be used in other types of links that use radio frequencies, such as RF cable links.

It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art. 

1. A communication receiver, comprising: (a) a front end, which is arranged to receive a Radio Frequency (RF) signal, which comprises modulated symbols carrying data that have been encoded by a block Forward Error Correction (FEC) code, and to convert the RF signal to a sequence of soft received symbols, wherein the soft received symbols are subject to distortion by at least first and second noise components having respective at least first and second statistical distributions; (b) a metric calculation unit, which is arranged to process the soft received symbols so as to extract parameters indicative of the at least first and second statistical distributions, and to compute FEC metrics based on the extracted parameters; and (c) a FEC decoder, which is arranged to accept the FEC metrics as input, and to process the metrics in an iterative FEC decoding process so as to decode the FEC code and reconstruct the data.
 2. The receiver according to claim 1, wherein one of the first and second noise components comprises thermal noise.
 3. The receiver according to claim 1, wherein one of the first and second noise components comprises phase noise.
 4. The receiver according to claim 1, wherein the FEC code comprises one of a Low Density Parity Check (LDPC) code, a turbo code and a Turbo Product Code (TPC).
 5. The receiver according to claim 1, wherein, for a soft received symbol that is received responsively to a modulated symbol and for a target bit in a group of bits represented by the modulated symbol, the metric calculation unit is arranged to approximate a first probability that the target bit equals “1” given the soft received symbol, and a second probability that the target bit equals “0” given the soft received symbol, and to compute the FEC metrics based on the first and second probabilities.
 6. The receiver according to claim 5, wherein the metric calculation unit is arranged to compute one of Log-Likelihood Ratios (LLRs) and Likelihood Ratios (LRs) based on the first and second probabilities.
 7. The receiver according to claim 1, wherein the modulated symbols are selected from a predetermined constellation of nominal symbols, and wherein the metric calculation unit is arranged to compute the FEC metrics by comparing the soft received symbols to only two nominal symbols per each of the at least first and second noise components.
 8. The receiver according to claim 7, wherein the soft received symbols and the nominal symbols are represented by respective coordinates in an In-phase/Quadrature (I/Q) plane, wherein the at least first and second noise components have respective at least first and second distance metrics in the I/Q plane, and wherein, for a soft received symbol that is received responsively to a modulated symbol and for a target bit in a group of bits represented by the modulated symbol, the two nominal symbols corresponding to a noise component comprise a first nominal symbol that is nearest to the soft received symbol in accordance with a respective distance metric of the noise component within a first subset comprising the nominal symbols whose target bit equals “0”, and a second nominal symbol that is nearest to the soft received symbol in accordance with the respective distance metric of the noise component within a second subset comprising the nominal symbols whose target bit equals “1”.
 9. The receiver according to claim 8, wherein the first noise component comprises thermal noise, wherein the first distance metric comprises Euclidean distance, wherein the second noise component comprises phase noise, and wherein the second distance metric comprises a Euclidean distance metric adjusted by a correction factor derived from the second statistical distribution.
 10. The receiver according to claim 1, wherein the metric calculation unit is arranged to compute the FEC metrics by multiplying a first function of the first statistical distribution by a second function of the second statistical distribution.
 11. The receiver according to claim 1, wherein the FEC metrics depend on a timing of the soft received symbols.
 12. The receiver according to claim 1, wherein the 1 metric calculation unit is arranged to compute the FEC metrics by evaluating the metrics responsively to the first statistical distribution over a range of values of the second noise component assuming the second noise component is constant, weighting the evaluated metrics using a weighing function, and integrating the weighted metrics over the range of values of the second noise component.
 13. The receiver according to claim 12, wherein the weighting function comprises a Probability Density 1 Function (PDF) of the second noise component.
 14. The receiver according to claim 1, wherein the metric calculation unit is arranged to compute the FEC metrics responsively to parameters of the reconstructed data that are fed back from the FEC decoder.
 15. A communication receiver, comprising: (a) a front end, which is arranged to receive a Radio Frequency (RF) signal comprising modulated symbols, which carry data and are selected from a predetermined constellation of nominal symbols that correspond to respective decision regions in an In-phase/Quadrature (I/Q) plane, and to convert the RF signal to a sequence of soft received symbols, wherein the soft received symbols are subject to distortion by at least first and second noise components having respective at least first and second statistical distributions; and (b) a slicer circuit, which is arranged to convert the soft received symbols to respective hard symbol decisions based on the decision regions in which the soft received symbols fall, to reconstruct the data from the hard symbol decisions, and to modify the decision regions in the I/Q plane responsively to the at least first and second statistical distributions.
 16. The receiver according to claim 15, wherein the constellation is divided into multiple cosets and wherein each of the nominal symbols represents a respective group of bits, such that one or more of the bits in the group select a coset from among the cosets and the other bits select the nominal symbol within the selected coset, and wherein the slicer circuit is arranged to separately modify the decision regions per each coset.
 17. The receiver according to claim 16, wherein the slicer circuit is arranged to select a configuration of the decision regions from a predetermined set of configurations responsively to the at least first and second statistical distributions.
 18. A method for communication, comprising: (a) receiving a Radio Frequency (RF) signal, which comprises modulated symbols carrying data that have been encoded by a block Forward Error Correction (FEC) code; (b) converting the RF signal to a sequence of soft received symbols, wherein the soft received symbols are subject to distortion by at least first and second noise components having respective at least first and second statistical distributions; (c) processing the soft received symbols responsively to the at least first and second statistical distributions, so as to extract from the soft received symbols parameters that are indicative of the first and second statistical distributions; (d) computing FEC metrics based on the extracted parameters; and (e) processing the FEC metrics in an iterative FEC decoding process that uses the FEC metrics as input, so as to decode the FEC code and reconstruct the data.
 19. The method according to claim 18, wherein, for a soft received symbol that is received responsively to a modulated symbol and for a target bit in a group of bits represented by the modulated symbol, processing the soft received symbols comprises approximating a first probability that the target bit equals “1” given the soft received symbol, and a second probability that the target bit equals “0” given the soft received symbol, and computing the FEC metrics based on the first and second probabilities.
 20. The method according to claim 18, wherein the modulated symbols are selected from a predetermined constellation of nominal symbols, and wherein computing the FEC metrics comprises comparing the soft received; symbols to only two nominal symbols per each of the at least first and second noise components.
 21. The method according to claim 20, wherein the soft received symbols and the nominal symbols are represented by respective coordinates in an In-phase/Quadrature (I/Q)) plane, wherein the at least first and second noise components have respective at least first and second distance metrics in the I/Q plane, and wherein, for a soft received symbol that is received responsively to a modulated symbol and for a target bit in a group of bits i represented by the modulated symbol, the two nominal symbols corresponding to a noise component comprise a first nominal symbol that is nearest to the soft received symbol in accordance with a respective distance metric of the noise component within a first subset comprising the) nominal symbols whose target bit equals “0”, and a second nominal symbol that is nearest to the soft received symbol in accordance with the respective distance metric of the noise component within a second subset comprising the nominal symbols whose target bit equals “1”.
 22. The method according to claim 18, wherein processing the soft received symbols comprises computing the FEC metrics by multiplying a first function of the first statistical distribution by a second function of the second statistical distribution.
 23. The method according to claim 18, wherein processing the soft received symbols comprises evaluating the FEC metrics responsively to the first statistical distribution over a range of values of the second noise component assuming the second noise component is constant, weighting the evaluated metrics using a weighting function, and integrating the weighted metrics over the range of values of the second noise component.
 24. The method according to claim 18, wherein processing the soft received symbols comprises computing the FEC metrics responsively to parameters of the reconstructed data that are fed back from an output of the iterative decoding process.
 25. A method for communication, comprising: (a) receiving a Radio Frequency (RF) signal comprising modulated symbols, which carry data and are selected from a predetermined constellation of nominal symbols that correspond to respective decision regions in an Inphase/Quadrature (I/Q) plane; (b) converting the RF signal to a sequence of soft received symbols, wherein the soft received symbols are subject to distortion by at least first and second noise components having respective at least first and second statistical distributions; (c) converting the soft received symbols to respective hard symbol decisions based on the decision regions in which the soft received symbols fall, so as to reconstruct the data from the hard symbol decisions; and (d) modifying the decision regions in the I/Q plane responsively to the at least first and second statistical distributions. 